In diesem Artikel wird eine bessere Möglichkeit zur Bereitstellung einer konsistenten Benutzeroberfläche für das Schreiben von Bereichen und Containern in Streams aufgezeigt, mit der sich trotzdem der Operator << verwenden lässt.
Betrachten wir zunächst, was eine allgemeine Lösung anbieten sollte. Sie sollte:
- in der Lage sein, Bereiche und Container zu schreiben. Die Lösung sollte mit STL-ähnlichen Bereichen funktionieren und das eigentliche Schreiben der Container erleichtern. Das Schreiben von Bereichen bedeutet, dass man mit Hilfe einer [A, A + N]-Sequenz auch C-Arrays schreiben kann (A ist der Array, N ist die Größe dieses Arrays).
- in der Lage sein, bei Bedarf jedes Element zu umgeben. Zum Beispiel könnte man ein solches Array schreiben wollen: ‚[John, James, Corina]‘
- in der Lage sein, bei Bedarf auf jedes Element eine Umwandlung (Transformation) anzuwenden. Zum Beispiel möchte man die Namen seiner Angestellten schreiben, und die Nachnamen sollen dabei in Großbuchstaben erscheinen: [DOE, John; KEITH James; DYLAN, Richard] Oder man möchte ein Array mit Integern schreiben und dabei den absoluten Wert jedes Elements verwenden.
- vernünftige Voreinstellungen für die beiden vorangegangenen Punkte besitzen. Wenn man beispielsweise keine Transformation anwendet, sollte die Standard-Transformation das Element so drucken, wie es auch erscheint (die Identitäts-Transformation)
Durch die Kombination dieser Fähigkeiten erhält man ein leistungsfähiges Werkzeug für das Schreiben von Arrays. Alle, die jetzt noch nicht überzeugt sind, sollten sich die Beispiele am Ende dieses Artikels ansehen.
Neueste Kommentare
Noch keine Kommentare zu Mit C++ Bereiche und Container schreiben und formatieren
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.